package com.gl.codewar.template;


public class Palindrome {

	public static int reverseAdd(Integer n){
		
		String n1 = n.toString();
		String n2 = reverse(n1);
		
		Integer n3 = new Integer(n1) + new Integer(n2);
		
		if(esCapicua(n3.toString())){
			return n3;
		}else{
			return reverseAdd(n + Integer.valueOf(n2));
		}
		
	}
	
	public static String reverse(String n){
		String n2 = "";
		for(int i = n.length()-1 ; i > -1 ; i--){
			n2 += n.substring(i,i+1);
		}
		return n2;
	}
	
	private static boolean esCapicua(String n){
		boolean par = n.length() % 2 == 0;
		if(par){
			int i = n.length()/2;
			String n2 = reverse(n.substring(i));
			String n1 = n.substring(0,i);
			return Integer.valueOf(n2) == Integer.valueOf(n1);
		}else{
			int i = n.length()/2+1;
			String n2 = reverse(n.substring(i));
			String n1 = n.substring(0,i-1);
			return Integer.valueOf(n2) == Integer.valueOf(n1);
		}
	}
	
	public static void main(String[] args) {
		new Palindrome().reverseAdd(1);
	}

}
